package AccionBoton;

import java.awt.GridBagConstraints;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

import paginas.EditorTecladosTab3;
import paginas.PaginaEntornoCreacionTeclados;
import plantilla.BotonTO;
import plantilla.PlantillaTO;
import util.PanelBotonEliminado;

public class AccionPegarBoton implements ActionListener{
	
	private PaginaEntornoCreacionTeclados _frame;
	private EditorTecladosTab3 _tab;
	
	
	public AccionPegarBoton(PaginaEntornoCreacionTeclados frame, EditorTecladosTab3 tab){
		
	_frame = frame;
	_tab = tab;
		
	}
	
	
	public void actionPerformed(ActionEvent e){
		
		PlantillaTO plantilla = _frame.getTecladoTO();
		List<BotonTO> botones = plantilla.getListaBotones();
		
		if(_frame.getPanelSeleccionado()!=null){
			
			if(_frame.getBotonCopiar()!=null){
				

				BotonTO b = (BotonTO)_frame.getBotonCopiar().getBotonInfo().Clone();
				b.setTextoBoton(b.getTextoBoton());
				b.setPosicionFila(new Integer(_frame.getPanelSeleccionado().getFila()).toString());
				b.setPosicionColumna(new Integer(_frame.getPanelSeleccionado().getColumna()).toString());
				b.setFilasOcupa(new Integer(_frame.getPanelSeleccionado().getFilasOcupa()).toString());
				b.setColumnasOcupa(new Integer(_frame.getPanelSeleccionado().getColsOcupa()).toString());
				botones.add(b);
				_frame.getBotonesEliminados().remove(_frame.getPanelSeleccionado());
				_frame.setPanelSeleccionado(null);
				plantilla.setListaBotones(botones);
				_tab.desactivarPegar();
				_frame.setBotonCopiar(null);
				_frame.setTecladoTO(plantilla);
				
				
			}else{
				if(_frame.getBotonCortar()!=null){
					
					BotonTO b = _frame.getBotonCortar().getBotonInfo();
					botones.remove(b);
					GridBagConstraints cons = new GridBagConstraints();
					cons.gridx = new Integer(b.getPosicionColumna());
					cons.gridy = new Integer(b.getPosicionFila());
					cons.gridwidth = new Integer(b.getColumnasOcupa());
					cons.gridheight = new Integer(b.getFilasOcupa());
					PanelBotonEliminado p = new PanelBotonEliminado(cons, _frame, _frame.get_tecladoPrevisualizado(),_frame.getBotonCortar().getPreferredSize().width, _frame.getBotonCortar().getPreferredSize().height);
					_frame.getBotonesEliminados().add(p);
					b.setPosicionFila(new Integer(_frame.getPanelSeleccionado().getFila()).toString());
					b.setPosicionColumna(new Integer(_frame.getPanelSeleccionado().getColumna()).toString());
					b.setFilasOcupa(new Integer(_frame.getPanelSeleccionado().getFilasOcupa()).toString());
					b.setColumnasOcupa(new Integer(_frame.getPanelSeleccionado().getColsOcupa()).toString());
					botones.add(b);
					_frame.getBotonesEliminados().remove(_frame.getPanelSeleccionado());
					_frame.setPanelSeleccionado(null);
					_tab.desactivarPegar();
					plantilla.setListaBotones(botones);
					_frame.setBotonCortar(null);
					_frame.setTecladoTO(plantilla);

				}
				
			}
			
		}
		
		
	}

}
